<template>
	<view class="content">
		<image class="logo" src="/static/logo.png"></image>
		<view>
			<text class="title">{{title}}</text>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				title: 'Hello',
				apiUrl: "", //用于接收接口前缀
				form_user:{
					mobile: "13072086165", //电话
					v_type: "active", //已注册用户
				},
			}
		},
		onLoad(option) {
			//取链接参数
			console.log('执行onLoad'); //这个最先执行
			console.log("参数option==",option);
			this.apiUrl=getApp().globalData.apiUrl;
			console.log("获取到的接口前缀apiUrl==",this.apiUrl);
			console.log("判断部分==",JSON.stringify(option));
			
			//以下测试用
			//this.loginByWX("oXsZI1MNkyiXXUNPv-9axRrqo_b0"); //我的
			
			if(JSON.stringify(option)!="{}"){
				var code=option.code;
				console.log("获取到的code==",code);
				//this.getOpenId(code);
				
				//以下测试用
				//this.loginByWX("oXsZI1L-ak0O2TTayUf7rBl6ZQJY"); //小孙的
				
				//console.log("获取到的全局变量testParam==",getApp().globalData.testParam);
				//getApp().globalData.appId="8888888888";
				//console.log("改变后的全局变量appId==",getApp().globalData.appId);
				
			}
			this.test_refresh();
			//this.makeSessionContinue();
		},
		methods: {
			//第一步：动态获取code（在onLoad函数中完成）
			//第二步：在取到code的基础上调用本地接口获取openid
			getOpenId(code){
				let that=this;
				let obj={};
				obj.code=code;
				obj.appid=getApp().globalData.appId;
				uni.request({
					url:"http://localhost/erh-api/erh-auth/getOpenId",
					method:"POST",
					data:obj,
					header:{
						"Content-Type":"application/json" ,// 设置请求头
					},
					success:(res)=>{
						console.log('getOpenId接口返回值==',res);
						//debugger; 
						if(res.data.code==200 && res.data.data.openid!=null){ //第二个条件是防止接口返回200，但openid为null
							let openid=res.data.data.openid;
							let unionid=res.data.data.unionid; //使用新逻辑
							//openid="oXVE244m2QMKrqQgxlgbszG1QqfE";//老孙的测试用
							getApp().globalData.openid=openid;
							getApp().globalData.unionid=unionid;
							console.log("***********获取的用户openid：",openid);
							console.log("***********获取的用户unionid：",unionid); 
							//第三步：在取到openid的基础上调用本地登录接口
							that.loginByWX(unionid);  
							//that.loginByWX("oXsZI1L-ak0O2TTayUf7rBl6ZQJY"); //小孙的
						}
						if(res.data.code==500){
							let msg=res.data.msg;
							// uni.navigateTo({
							// 	url:'../error/error?errorMsg='+msg 
							// })
						}
					},
					fail:(err)=>{
						console.log("getOpenId接口调用异常err==",err);
						// uni.navigateTo({
						// 	url:'../error/error?errorMsg='+err
						// })
					}
				});
			},
			//第三步：在取到openid的基础上调用本地登录接口
			loginByWX(unionid){
				let that=this;
				uni.request({
					url:"http://localhost/erh-api/erh-auth/loginByWX",
					method:"POST",
					data:unionid,
					header:{
						"Content-Type":"application/json" ,// 设置请求头
					},
					success:(res)=>{
						//debugger; 
						console.log('loginByWX接口返回值==',res);
						//debugger;
						if(res.data.code==200){
							let access_token=res.data.data.access_token;//获取access_token并保存在全局变量中
							getApp().globalData.access_token=access_token;
							console.log('loginByWX接口token返回值==',access_token);
							console.log('全局变量中的token值==',getApp().globalData.access_token);
							let roles=res.data.data.roles;
							getApp().globalData.roles=roles;
							console.log('loginByWX接口角色返回值==',roles); 
							console.log('全局变量中的roles值==',getApp().globalData.roles);
							//第四步：给全局变量中的角色布尔变量赋值
							if(roles.indexOf("技能培训管理员")!=-1){
								getApp().globalData.isSktradmin=true;
							}
							if(roles.indexOf("活动管理员")!=-1){
								getApp().globalData.isActiadmin=true;
							}
							if(roles.indexOf("检测评估管理员")!=-1){
								getApp().globalData.isDeevadmin=true;
							}
							if(roles.indexOf("检测评估执行员")!=-1){
								getApp().globalData.isDeevjob=true;
							}
							console.log('全局变量中的角色值==',getApp().globalData.isSktradmin,getApp().globalData.isActiadmin,
							            getApp().globalData.isDeevadmin,getApp().globalData.isDeevjob,getApp().globalData.isMp_normal);
													
							//进入第四步：获取注册用户基本信息，并保存到全局变量中 
							that.getUserInfo();
						}
						if(res.data.code==500){
							let msg=res.data.msg;
							//并且res.data.msg中有“不存在”3个字，跳转到注册页
							if(msg.indexOf("不存在")!=-1){
								// uni.navigateTo({
								// 	url:"../reg/regNew" ,
								// });
							}else if(msg.indexOf("对不起")!=-1){
								// uni.showModal({
								// 	title: '提示',
								// 	content: '登录失败，该账号已被注销或删除！',
								// 	showCancel: false ,
								// 	confirmText: '关闭',
								// 	success: res => {
								// 		if (res.confirm) {
								// 			wx.exitMiniProgram({
								// 				success: function(){
								// 					console.log("退出成功！！！"); 
								// 				},
								// 				fail: function(err){
								// 					console.log("退出失败！！！",err);
								// 					uni.navigateTo({
								// 						url:'../error/error?errorMsg='+err.errMsg
								// 					})
								// 				}
								// 			})
								// 		}
								// 	}
								// })
								//uni.showModal结束
							}else{
								// uni.navigateTo({
								// 	url:'../error/error?errorMsg='+msg 
								// })
							}
						}
					},
					fail:(err)=>{
						console.log("loginByWX接口（根据unionid登录）调用异常err==",err);
						// uni.navigateTo({
						// 	url:'../error/error?errorMsg='+err
						// })
					}
				});
				
			},
			//第四步：获取注册用户基本信息
			getUserInfo(){
				var that=this;
				var access_token=getApp().globalData.access_token;
				uni.request({
					url:"http://localhost/erh-api/erh-system/user/getInfo",
					method:"GET",
					data:null,
					header:{
						"Authorization": access_token,
						"Content-Type":"application/json" ,// 设置请求头
					},
					success:(res)=>{
						console.log('getUserInfo接口返回值==',res);
						//debugger;
						if(res.data.code==200){
							getApp().globalData.user=res.data.user;
							console.log('全局变量中的user值==',getApp().globalData.user);
						}
						if(res.data.code==500){
							let msg=res.data.msg;
							// uni.navigateTo({
							// 	url:'../error/error?errorMsg='+msg 
							// })
						}
					},
					fail:(err)=>{
						console.log("getUserInfo接口调用异常err==",err);
						// uni.navigateTo({
						// 	url:'../error/error?errorMsg='+err
						// })
					}
				});
				
			},
			

			//测试调用跨域接口
			test_refresh(){
				var apiUrl=this.apiUrl+"/erh-auth/refresh";
				console.log("接口地址==",apiUrl);
				uni.request({
					url: apiUrl,
					method:"POST",
					data:{},
					// header:{
					// 	"Content-Type":"application/json" // 设置请求头
					// },
					success:(res)=>{
						console.log("post跨域调用返回值==",res);
					},
					fail:(err)=>{
						console.log("post跨域调用异常==",err);
					}
				});
			},
			
			makeSessionContinue(){
				uni.request({
					//url:"https://www.jbmzy.cn/erh-api/ga-sktr/playEvent/open/231",
					url:"http://localhost/erh-api/ga-sktr/playEvent/open/231",
					method:"GET",
					data:null,
					header:{
						"Content-Type":"application/x-www-form-urlencoded" // 设置请求头
					},
					// headers: { //headers部分
					// 	'content-type': 'application/x-www-form-urlencoded',
					// },
					
					success:(res)=>{
						console.log("保活接口返回值==",res);
					},
					fail:(err)=>{
						console.error("保活接口异常",err);
					}
				});
			},
			
			test_getUser(){
				
			},
			//在此之上补充方法
		}
	}
</script>

<style>
	.content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.logo {
		height: 200rpx;
		width: 200rpx;
		margin: 200rpx auto 50rpx auto;
	}

	.text-area {
		display: flex;
		justify-content: center;
	}

	.title {
		font-size: 36rpx;
		color: #8f8f94;
	}
</style>
